package com.kylin.domain.authority.command

import org.axonframework.modelling.command.TargetAggregateIdentifier

/**
 * 审核状态变更命令
 */
abstract class ChangeSpuStateCommand (
        @TargetAggregateIdentifier
        val spuId: Long,
        val updatedBy: Long
)
class ApproveSpuCommand(spuId: Long, updatedBy: Long)
    : ChangeSpuStateCommand(spuId, updatedBy)
class RejectSpuCommand(spuId: Long, updatedBy: Long)
    : ChangeSpuStateCommand(spuId, updatedBy)
class ShelveSpuCommand(spuId: Long, updatedBy: Long)
    : ChangeSpuStateCommand(spuId, updatedBy)
class PutOffSpuCommand(spuId: Long, updatedBy: Long)
    : ChangeSpuStateCommand(spuId, updatedBy)
class RemoveSpuCommand(spuId: Long, updatedBy: Long)
    : ChangeSpuStateCommand(spuId, updatedBy)